//
//  AddProdToCartUtil.h
//  JiaoX
//
//  Created by jiaoxiu－005 on 15/1/27.
//  Copyright (c) 2015年 北京娇羞科技有限公司. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "ProductDetail.h"
#import "CartInfoDao.h"

@protocol AddProdToCartDelegate <NSObject>
@optional
-(void)commitSuccess;
-(void)commitFailure;
@end

@interface AddProdToCartUtil : NSObject

@property(nonatomic,weak) __block id<AddProdToCartDelegate> delegate;
/**
 * post商品到服务器
 *
 * @param ctx               上下文
 * @param productDetail     商品详情
 * @param selectSkuPosition 选中的sku positon
 * @param prodCount         添加数量 (这个数量是在本地作相关判断之后的数量)
 * @param listener          添加到服务器结果的监听
 */
+(void)postProdToServer:(UIView *)container productDetail:(ProductDetail *)productDetail selectSkuPosition:(NSUInteger)selectSkuPosition prodCount:(NSUInteger)prodCount ctrl:(UIViewController *)ctrl;


/**
 * 判断增加商品数量是否满足限定条件
 *
 * @param addNumber 增加的商品数量
 * @return 满足，返回 true,不满足返回false
 */
+(BOOL)assertAddCart:(UIView *)container productDetail:(ProductDetail *)productDetail dao:(CartInfoDao *)dao addNumber:(NSUInteger)addNumber selectSkuPosition:(NSUInteger)selectSkuPosition;

/**
 * 判断是否是添加到指定个数
 *
 * @return 满足，返回 true,不满足返回false
 */
+(BOOL)isMoreThan:(ProductDetail *)productDetail dao:(CartInfoDao *)dao count:(NSUInteger)count maxValue:(int)maxValue selectSkuPosition:(NSUInteger) selectSkuPosition;
/**
 *  向数据库添加商品
 *
 *  @param prodSub    子商品
 *  @param prodDetail 主商品详情
 *  @param cartDao    dao
 *  @param count      添加数量
 */
+ (void)addProdToDb:(ProdSub *)prodSub prodDetail:(ProductDetail *)prodDetail dao:(CartInfoDao *)cartDao prodCount:(NSUInteger)count;
@end
